//
//  circle object
//

object circle
  extends   shape
  
  attrs
    point   center
    float   radius
  end

  procs
    def init
      ins
        point   center
        float   radius
      end

      .center.init( center.x, center.y, center.z )
      .radius   :=  radius
    end

    def deinit
      .center.deinit()
      .radius.deinit()
    end

    def area
      outs
        float   a
      end

      a       :=  ( PI * .radius * .radius )
    end

    def perimiter
      outs
        float   p
      end

      p       :=  ( 2.0 * PI * .radius )
    end
  end
end


